Methods and systems for sharing language capabilities

ABSTRACT

Methods and systems for sharing information on languages supported by portable electronic devices are disclosed. Some embodiments of the disclosed methods involve, for example, a first portable electronic device transmitting to a server, information identifying the first portable electronic device, and information related to one or more languages that the first portable electronic device is capable of displaying. The server stores the received information, and shares the information with electronic devices that subsequently request information on the language capabilities of the first portable electronic device.

FIELD OF TECHNOLOGY

The present disclosure relates to sharing information on languagessupported by portable electronic devices, and includes withoutlimitation, systems and methods for using language information to notifythe sender of a message to a recipient portable electronic device, thatthe message is not displayable on the recipient portable electronicdevice.

BACKGROUND

Portable electronic devices have gained widespread use and provide avariety of functions including, for example, telephonic, electronicmessaging, text messaging, and other personal information manager (PIM)application functions. Portable electronic devices include, for example,several types of mobile stations such as simple cellular telephones,smart telephones, wireless personal digital assistants (PDAs), andlaptop computers with wireless communication capabilities based on, forexample, the 802.11 or Bluetooth® communications protocols.

Commonly, in order to accurately display a message that is in aparticular language on a portable electronic device, a character setcorresponding to the particular language must be installed on thedevice. Smaller portable electronic devices such as smart telephones andPDAs typically have limited memory resources, and as a result, users ofsuch devices typically choose to install character sets corresponding toonly a few languages. Nevertheless, as portable electronic devices havegained in popularity, a wider variety of languages are used for messagecommunication.

The disincentive to install a variety of character sets on portableelectronic devices, combined with the increase in the variety oflanguages used to communicate messages between users of portableelectronic devices, has contributed to an increase in situations where aportable electronic device receives a message that it is unable todisplay. Likewise, senders of messages bound for portable electronicdevices are more likely to be unfamiliar with the language capabilitiesof recipient portable electronic devices, and consequently more likelyto send messages to recipient devices that are not displayable on thesedevices.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate several example embodiments ofthe present disclosure. In the drawings:

FIG. 1 is a block diagram of a portable electronic device, consistentwith disclosed example embodiments;

FIG. 2 is a top plan view of a portable electronic device, consistentwith disclosed example embodiments;

FIGS. 3 and 4 each depict an example system for sharing informationrelated to languages supported by portable electronic devices,consistent with disclosed example embodiments;

FIGS. 5, 6, and 7 each depict a flow diagram of an example process forsharing information related to languages supported by portableelectronic devices, consistent with disclosed example embodiments;

FIG. 8A depicts an example user interface used to specify a language ofcomposition associated with a message, consistent with disclosed exampleembodiments; and

FIGS. 8B, 8C, and 8D each depict an example user interface providinginformation on the language capabilities of a portable electronicdevice, consistent with disclosed example embodiments.

DETAILED DESCRIPTION

Reference will now be made in detail to the example embodiments of thepresent disclosure, which are illustrated in the accompanying drawings.For simplicity and clarity of illustration, reference numerals may berepeated among the figures to indicate corresponding or analogouselements. Numerous details are set forth to provide an understanding ofthe example embodiments described herein. The example embodiments may bepracticed without these details. In other instances, well-known methods,procedures, and components have not been described in detail to avoidobscuring the example embodiments described. The description is not tobe considered as limited to the scope of the example embodimentsdescribed herein.

The disclosure generally relates to portable electronic devices.Examples of portable electronic devices include mobile or handheldwireless communication devices such as pagers, cellular phones, cellularsmart-phones, wireless organizers, personal digital assistants,wirelessly enabled notebook computers, netbooks, tablets, and so forth.The portable electronic device may also be a portable electronic devicewithout wireless communication capabilities, such as a handheldelectronic game device, digital photograph album, digital camera, orother portable device.

A block diagram of an example of a portable electronic device 100 isshown in FIG. 1. Portable electronic device 100 includes multiplecomponents, such as processor 102 that controls the overall operation ofthe portable electronic device 100. In some embodiments, processor 102is a microprocessor (μP). Communication functions, including data andvoice communications, are performed through communication subsystem 104.Data received by the portable electronic device 100 is optionallydecompressed and decrypted by a decoder 106. Communication subsystem 104receives messages from and sends messages to a network 150. In variousembodiments, network 150 is a type of wireless network, including, butnot limited to, data wireless networks, voice wireless networks, andnetworks that support both voice and data communications. Power source142, such as one or more rechargeable batteries or a port to an externalpower supply, powers portable electronic device 100.

Processor 102 interacts with other device components, such as RandomAccess Memory (RAM) 108, memory 110, and display 112. According tovarious embodiments, display 112 is a type of display screen forportable devices, including, but not limited to, a touch-sensitivedisplay. User-interaction with a graphical user interface is performedthrough display 112. Information, such as text, characters, symbols,images, icons, and other items that may be displayed or rendered onportable electronic device 100, are displayed on display 112 via theprocessor 102.

Processor 102 also interacts with one or more actuators 120, one or moreforce sensors 122, auxiliary input/output (I/O) subsystem 124, data port126, speaker 128, microphone 130, short-range communications 132, andother device subsystems 134. Processor 102 interacts with accelerometer136, which is utilized to detect the direction of gravitational forcesor gravity-induced reaction forces.

To identify a subscriber for network access, portable electronic device100 uses a Subscriber Identity Module or a Removable User IdentityModule (SIM/RUIM) card 138 for communication with a network, such aswireless network 150. Alternatively, user identification information maybe programmed into memory 110.

Portable electronic device 100 includes operating system 146 andsoftware programs or components 148 that are executed by the processor102 and, in this configuration, are stored in a persistent, updatablememory 110. Additional applications, data, or programs are loaded ontoportable electronic device 100 through the wireless network 150,auxiliary I/O subsystem 124, data port 126, short-range communicationssubsystem 132, or any other suitable subsystem 134.

A received signal such as a text message, an e-mail message, or web pagedownload is processed by communication subsystem 104 and input toprocessor 102. Processor 102 processes the received signal for output todisplay 112 and/or to auxiliary I/O subsystem 124. A user may generatedata items, for example e-mail or text messages, which may betransmitted over wireless network 150 through communication subsystem104. For voice communications, the overall operation of the portableelectronic device 100 is similar. Speaker 128 outputs audibleinformation converted from electrical signals, and microphone 130converts audible information into electrical signals for processing.Speaker 128, display 112, and data port 126 are considered outputapparatus of portable electronic device 100.

In some example embodiments, one or more actuators 120 provides input tothe processor 102 when actuated. Actuation of the actuator 120 resultsin the provision of tactile feedback. In certain embodiments, amechanical dome switch may be utilized as one or more of actuators 120.Tactile feedback is provided when the dome collapses due to impartedforce and when the dome returns to the rest position after release ofthe switch. Alternatively, actuator 120 may comprise one or morepiezoelectric (piezo) devices that provide tactile feedback for atouch-sensitive display. Actuator 120, touch-sensitive display 112,force sensor 122, microphone 130, and data port 126 are inputapparatuses for portable electronic device 100.

A top plan view of an example portable electronic device 100 is showngenerally in FIG. 2. Example portable electronic device 100 includeshousing 200 in which various components as shown in FIG. 1 are disposed.For example, various input apparatuses and output apparatuses, processor102, and memory 110 for storing at least programs 148, shown in FIG. 1,are disposed in housing 200. Processor 102 is responsive to inputsignals from input apparatuses, such as the display 112 or actuator 120,and optionally provides output signals to output apparatuses, such asthe display 112 or speaker 128. Processor 102 also interfaces withmemory 110 and is enabled to execute programs 148.

As can be understood from FIG. 2, the output apparatus includes display112 and speaker 128, each of which are responsive to one or more outputsignals from processor 102. The input apparatus includes keyboard 220.As described above, input members 225 on keyboard 220 are rendered ontouch-sensitive display 112. For example, each input member can bedefined by specific coordinates of display 112. The input members 225are each associated with at least a character (such as alphanumericcharacters) in a text input mode of operation. In the presentlydescribed example embodiment, the indicia indicating the characterassociated with an input member 225 can change depending on the currentinput language. Alternatively, input members 225 are mechanical keysusing, for example, a mechanical dome switch actuator or a piezoelectricactuator. In certain embodiments, input members 225 may form a QWERTYkeyboard or other known keyboard layouts, either in reduced or fullformat. Although not shown in FIG. 2, portable electronic device 100optionally includes other input apparatuses, such as a scroll wheel, anoptical trackpad, or a ball located either on the face or side of device100. These input apparatuses provide additional input to processor 102.

FIG. 3 depicts an example system 300 for sharing information related tolanguages supported by portable electronic devices, consistent withdisclosed example embodiments. The languages supported by a portableelectronic device, includes, but is not limited to, human languages thatare displayable on the portable electronic device. In variousembodiments, a portable electronic device is able to display a humanlanguage, such as Arabic, if it has the associated character setinstalled or otherwise accessible. Information related to languagessupported by portable electronic devices includes, but is not limitedto, information on character sets installed on, and language preferencesassociated with, portable electronic devices. System 300 includes,without limitation, recipient portable electronic device 305, server310, memory 315, and sender electronic device 320.

Recipient portable electronic device 305 (hereafter “recipient device305”) is, for example, a portable electronic device 100, and transmitsto server 310, via link 301, information identifying itself andinformation related to the languages it supports. In some exampleembodiments, recipient device 305, when powered-on, transmits a deviceidentifier, such as an IMEI (International Mobile Equipment Identifier),a PIN (Personal Identification Number), or a MAC (Media Access Control)address, and a list of languages corresponding to the character setsinstalled on recipient device 305. In other embodiments, recipientdevice 305 transmits a device identifier and a list of supportedlanguages after detecting an event that requires the transmission ofthis information, such as the passage of a period of time.Alternatively, server 310 maintains a language listing or similarreference for portable electronic devices, in which case recipientdevice 305 need only provide a device identifier, using which server 310identifies a list of languages supported by recipient device 305.Recipient device 305 includes processor 102 and user interface 330,which includes, but is not limited to, microphone 130, speaker 128, dataport 126, auxiliary I/O 124, force sensor 122, actuator 120, and display112. The term link refers to any connection that enables thecommunication of information between at least two entities. For example,a link includes a wired communications connection, a wirelesscommunications connection, a radio frequency communications connection,and an optical communications connection. Link 301, in variousembodiments, is a wireless communication connection between recipientdevice 305 and server 310.

Server 310 is any type of computer server, including but not limited to,a presence server, and a server that receives, maintains, ordisseminates information related to portable electronic devices. Incertain embodiments, server 310 is communicatively coupled to memory 315via link 302, and stores, updates, and accesses one or more associations325 in memory 315, between information identifying one or more portableelectronic devices and languages supported by the one or more portableelectronic devices. For example, in an example embodiment, memory 315stores an association between the device identifier associated withrecipient device 305 and a list of languages installed on or supportedby recipient device 305.

Embodiments of memory 315 include, without limitation, various types ofstorage media, e.g., volatile and non-volatile computer memory such asRAM, PROM, EPROM and EEPROM, floppy disks, compact disks, optical disks,and magnetic tape. In some example embodiments, the storage media isencoded with one or more programs capable of being executed on aprocessor. In various embodiments memory 315 is a commercially availabledatabase. The term “program” is used herein to refer to any type ofcomputer code (e.g. software, firmware, or microcode) that can beexecuted on a processor.

In the presently described example embodiment, sender electronic device320 (hereafter “sender device 320”) includes processor 102 and userinterface 330. Sender device 320 receives from server 310, via link 303,information related to one or more languages supported by recipientdevice 305. Information related to one or more languages supported by anelectronic device comprises information reflecting a set of languagessupported by the electronic device. Sender device 320 is any type ofelectronic device that is able to communicate with other electronicdevices. In some embodiments, sender device 320 is a portable electronicdevice, and in other embodiments sender device 320 is a desktop computerthat is communicatively connected to a computer network, but is noteasily portable. In some embodiments, sender device 320 queries server310 using information identifying recipient device 305 and receives, inresponse to the query, a list of supported languages corresponding tocharacter sets installed on the recipient device 305. In anotherembodiment, server 310 provides the language information for recipientdevice 305 as part of a different interactive and dynamic session withserver 310 during the message transmission process. For example, senderdevice 320 contacts server 310 with a request for information on thelanguages supported by the devices associated with a list of contactsstored on sender device 320. In response, sender device 320 receivesfrom server 310 information on the languages supported by multipleportable electronic devices, including recipient device 305.

Following the receipt of information related to the languages supportedby recipient device 305, processor 102 of sender device 320, in someexample embodiments, determines whether a message to recipient device305 is displayable on recipient device 305. The term message includes,but is not limited to, a text message, an electronic mail (E-mail)message, and an instant message. In some example embodiments, thisdetermination comprises determining whether a language of compositionassociated with the message for recipient device 305 is a language notsupported by recipient device 305. A language of composition refers toany human language used to compose one or more parts of a message. Insome other embodiments, processor 102 of sender device 320 additionallydetermines whether one or more parts of the message for recipient device305 is in a language not supported by recipient device 305.

If the message for recipient device 305 is determined by processor 102of sender device 320 to not be displayable on recipient device 305, userinterface 330 of sender device 320 notifies the user of sender device320 that the message for recipient device 305 is not displayable onrecipient device 305. In certain embodiments, the user of sender device320 is notified visually, via, for example, a pop-up message displayedon display 112. In other embodiments, the user is notified via anauditory message delivered via speaker 128, or a tactile stimulusdelivered via actuator 120.

FIG. 4 depicts an example system 400 for sharing information related tolanguages supported by portable electronic devices, consistent withdisclosed example embodiments. System 400 includes, without limitation,recipient portable electronic device 405, server 410, sender electronicdevice 420, and processor 425.

Recipient portable electronic device 405 is, for example, a portableelectronic device 100, and transmits, via link 402, informationidentifying itself and information related to the languages it supports.Processor 425 is a processor, such as processor 102. According to someembodiments, processor 425 is installed within or communicativelycoupled to an electronic device, such as a server that responds torequests from portable electronic devices. Processor 425 is alsocommunicatively coupled to server 410 via link 401. In variousembodiments, processor 425 receives information transmitted by recipientdevice 405 via link 402, and transmits the received information toserver 410 via link 401. Processor 425 also transmits informationreceived from server 410 to sender electronic device 420, via link 403.

Server 410 is any computer server, such as server 310. In the exampleembodiment described presently, server 410 includes memory 315. Invarious embodiments, memory 315 is located remotely from server 410.Server 410 stores, updates, and accesses one or more associations 325 inmemory 315, between information identifying one or more portableelectronic devices and information on languages supported by the one ormore portable electronic devices.

Upon receiving, from processor 425, the information identifyingrecipient device 405 and the information related to the languagessupported by recipient device 405, server 410 stores the receivedinformation in memory 315, and creates or updates an association inmemory 315 between the information identifying recipient device 405 andthe information related to the languages supported by recipient device405.

Sender electronic device 420 (hereafter “sender device 420”) is anelectronic device such as sender device 320, and receives from server410, via processor 425 and links 401 and 403, information related to oneor more languages supported by recipient device 405. In some exampleembodiments, sender device 420 transmits, via link 403, a query thatcomprises information identifying recipient device 405, and informationidentifying one or more languages associated with a message forrecipient device 405. For example, sender device 420 transmits a deviceidentifier associated with recipient device 405 and informationidentifying a language, such as Japanese, associated with an e-mailbeing composed for recipient device 405. In such embodiments, processor425, receives the query and transmits it to server 410 via link 401.

In response to the query transmitted to server 410, processor 425receives from server 410, via link 401, information on the languagessupported by recipient device 405. In various example embodiments,processor 425 determines, based on the information related to languagessupported by recipient device 405, and the information identifying oneor more languages associated with the message for recipient device 405,whether the message for recipient device 405 is displayable on recipientdevice 405. Processor 425 then forwards this determination to senderdevice 420, via link 403.

If the message for recipient device 405 is determined by processor 425to not be displayable on recipient device 405, user interface 330 ofsender device 420 notifies the user of the sender device 420 that themessage for recipient device 405 is not displayable on recipient device405.

FIG. 5 is a flow diagram of an example process 500 for sharinginformation related to one or more languages supported by portableelectronic devices, consistent with disclosed example embodiments. Themethod is carried out by software or firmware, for example as part ofprograms 148, that is stored in Random Access Memory (RAM) 108 or memory110, and is executed by, for example, processor 102.

At Step 505, software or firmware executing on processor 102 of anelectronic device receives an indication that the user of the portableelectronic device wishes to communicate a message to a potentialrecipient portable electronic device. For the sake of convenience andclarity, sender device 320 will be used as an example electronic deviceused by a user wishing to communicate a message to a potential recipientportable electronic device, and recipient device 305 will be used as anexample potential recipient portable electronic device.

In certain embodiments, the received indication comprises the user ofsender device 320 specifying an e-mail address, a phone number, or otheridentifier associated with a user of recipient device 305, using ane-mail, text messaging or other application. For example, the user ofsender device 320 invokes an e-mail application on sender device 320,and selects an e-mail address associated with a user of recipient device305, which results in an indication that the user of sender device 320wishes to communicate a message to recipient device 305. In otherembodiments, the indication is the issuance of a command to transmit amessage from sender device 320 to recipient device 305. For example, theuser of sender device 320 activates a ‘send’ button associated with ane-mail or text message for a user of recipient device 305, which resultsin an indication that the user of sender device 320 wishes tocommunicate a message to recipient device 305. In many exampleindications, software or firmware executing on processor 102 of senderdevice 320 monitors the sender device 320 for an indication that theuser of sender device 320 seeks to communicate a message to a user ofanother electronic device. In many embodiments, a device identifierassociated with recipient device 305 is identified by searching acollection of data using an identifier (e.g. an e-mail address or aphone number) associated with a user of recipient device 305.

At Step 510, software or firmware executing on processor 102 of senderdevice 320 receives from a server, such as server 310, informationrelated to one or more languages supported by recipient device 305. Invarious embodiments, the server is located remotely from sender device320. The information related to one or more languages supported byrecipient device 305 is a list of character sets installed on recipientdevice 305. The information related to the languages supported byrecipient device 305 is received over network 150, via communicationsubsystem 104. Moreover, in some example embodiments, this informationis received in response to one or more queries generated and transmittedto server 310, by sender device 320. The one or more queries useinformation capable of identifying recipient device 305 and stored onmemory 110 of sender device 320.

In some embodiments, at Step 510, processor 102 receives the languageinformation from a storage device of sender device 320, such as memory110. In such embodiments, memory 110 stores information relating to thelanguages supported by a set of portable electronic devices. The set ofportable electronic devices includes devices that have previouslycommunicated with sender device 320, and devices whose languageinformation was previously received from a server, such as server 310.

At Step 515, software or firmware executing on processor 102 of senderdevice 320 determines whether the message for recipient device 305 isdisplayable on recipient device 305. In some embodiments, software orfirmware executing on a processor not physically located within senderdevice 320, such as processor 425, determines whether the message isdisplayable on recipient device 305. This determination includes,without limitation, determining whether one or more languages ofcomposition associated with the message for recipient device 305 is notsupported by recipient device 305. If, for example, a language ofcomposition is not one of the-one or more languages supported byrecipient device 305, the message for recipient device 305 is determinedto be not displayable on recipient device 305.

In some example embodiments, a language of composition associated withthe message is a default language associated with an application, suchas an electronic mail or text messaging application, used for composingthe message. In other embodiments, a language of composition is alanguage a user associates with the message, by, for example, selectinga language different from the default language prior to or duringmessage composition. In yet other embodiments, the message comprisescharacter sets from two or more languages.

Determining whether the message for recipient device 305 is displayableon recipient device 305 involves determining whether one or more partsof the message is in a language not supported by recipient device 305.If, for example, the message body, the subject, or an attachment to themessage for recipient device 305 is determined to be in a language notsupported by recipient device 305, then the message itself is determinedto be not displayable on recipient device 305.

If it is determined at Step 515, that the message for recipient device305 is not displayable on recipient device 305, then at Step 520 theuser of sender device 320 is notified that the message he/she intends tosend to a user of recipient device 305, will not be displayable onrecipient device 305.

According to various embodiments, Step 520 also involves providing theuser of sender device 320 information on the one or more languagessupported by the recipient device 305. For example, display 112 ofsender device 320 may provide the user a list of languages that aresupported by recipient device 305, and user interface elements displayedon display 112 may provide the user with the option of selecting alanguage from the list of languages supported by recipient device 305,as the language of composition to be associated with the message forrecipient device 305.

In certain embodiments, software executing on processor 102 of senderdevice 320 downloads and installs one or more character sets associatedwith the one or more languages supported by recipient device 305. Incertain other embodiments, server 310 notifies recipient device 305 thata sender device has attempted to send recipient device 305 a message inone or more languages not supported by recipient device 305. Inresponse, software executing on processor 102 of recipient device 305downloads and installs one or more character sets not previouslyinstalled on recipient device 305.

In some other embodiments, a message to recipient device 305 is routedthrough a remote server that translates one or more portions of themessage into a language supported by recipient device 305, before themessage is delivered to recipient device 305. In various embodiments,sender device 320, server 310, or an intermediate server routes themessage for recipient device 305 through a remote server for translationpurposes. According to certain other embodiments, the recipient device305 may itself send a received message to a remote server fortranslation. Further, a message may be translated, in whole or in part,at the sender device 320, the recipient device 305, or the server 310.

FIG. 6 is a flow diagram of an example process 600 for sharinginformation related to languages supported by portable electronicdevices, consistent with disclosed example embodiments. At Step 605, aserver receives from a first portable electronic device, informationidentifying the first portable electronic device, and informationrelated to one or more languages supported by the first portableelectronic device. In the present discussion of FIG. 6, for the sake ofconvenience and clarity alone, recipient device 305 is used as anexample of the first portable electronic device, and server 310 is usedas an example of the above-identified server.

At Step 610, server 310 stores, at a memory accessible to server 310,such as memory 315, an association between the information identifyingthe first portable electronic device (e.g. recipient device 305) and theinformation related to the one or more languages supported by recipientdevice 305. At Step 615, software or firmware executing on a processor102 associated with a second electronic device receives an indicationthat a user of the second device wishes to communicate a message to auser of recipient device 305. In the present discussion of FIG. 6, forthe sake of convenience and clarity alone, sender device 320 is used asan example of the second electronic device.

In response to the indication, at Step 620, server 310 is queried forinformation related to the one or more languages supported by recipientdevice 305. In some embodiments, software or firmware executing on aprocessor, such as processor 102 of sender device 320 or processor 425,queries server 310. In response to the query or queries, informationrelated to the one or more languages supported by recipient device 305is received in Step 625 from server 310. In various embodiments,processor 102 of sender device 320 or processor 425 receives theinformation related to the one or more languages supported by recipientdevice 305.

At Step 630, software or firmware executing, for example, on processor102 of sender device 320 or processor 425, determines whether themessage for recipient device 305 is displayable on recipient device 305.If it is determined at Step 630, that the message is not displayable onrecipient device 305, then at Step 635, the user of sender device 320 isnotified that the message he/she intends to send will not be displayableon recipient device 305.

FIG. 7 is a flow diagram of an example process 700 for sharinginformation related to languages supported by portable electronicdevices, consistent with disclosed example embodiments. At Step 705,software or firmware executing on a processor such as processor 102,receives an indication that a user of a second electronic device seeksto communicate a message to a user of a first portable electronicdevice. In the present discussion of FIG. 7, for the sake of convenienceand clarity alone, sender device 320 will be used as an example secondelectronic device, and recipient device 305 will be used as an examplefirst portable electronic device.

At Step 710, software or firmware executing, for example, on processor102 of sender device 320 or on processor 425, receives from a server,such as server 310, information related to one or more languagessupported by the recipient device 305. At Step 715, the software orfirmware determines whether the message for a user of recipient device305 is displayable on recipient device 305. If it is determined at Step715, that the message is not displayable on recipient device 305, then,at Step 720, the user of sender device 320 is notified that the messagehe/she intends to send will not be displayable on recipient device 305.

If it is determined at Step 715 that the message is displayable onrecipient device 305, then control proceeds to Step 725. In someembodiments, software or firmware executing, for example, on processor102 of sender device 320, detects, in Step 725, an attempt by the userof sender device 320 to include in the message to the user of recipientdevice 305, text in a language that is different from a language ofcomposition associated with the message to the user of recipient device305. For example, if a language of composition associated with themessage to the user of recipient device 305 is English, then an attemptto paste Chinese characters into the message body, will result in thedetection of the aforementioned attempt to include text in a languagethat is different from a language of composition associated with themessage.

At Step 730, software or firmware executing, for example, on processor102 of sender device 320 or on processor 425, determines whether themessage for the user of recipient device 305, including the text thatthe user of sender device 320 has attempted to include, is displayableon recipient device 305. In some example embodiments, the abovedetermination involves determining whether the text that the user hasattempted to include is in a language supported by recipient device 305.

If it is determined at Step 730, that the message for recipient device305 is not displayable on recipient device 305, then at Step 735, theuser of sender device 320 is notified that the message to recipientdevice 305, including the additional text that the user has attempted toinclude, is not displayable on recipient device 305. In certainembodiments, the user of sender device 320 is additionally presentedwith an option to abort the inclusion of the additional text into themessage for the user of recipient device 305.

According to various embodiments, a determination of whether a messagefor a user of recipient device 305 is displayable on recipient device305 is undertaken by processor 102 of sender device 320 after softwareor firmware executing on processor 102 detects a change in a language ofcomposition associated with the message for the user of recipient device305. For example, if while composing a message to recipient device 305in the English language, the user of sender device 320 switches thelanguage used for composing the message to Chinese, sender device 320detects the change in language. Following the detection of this change,sender device 320 performs a determination of whether the message forthe user of recipient device 305 is displayable on recipient device 305given that the message will additionally be composed in Chinese.

FIG. 8A depicts an example user interface used to specify a language ofcomposition associated with a message, consistent with disclosed exampleembodiments. The example user interface depicted in FIG. 8A is displayedon display 112 of sender device 320. User Interface component 800 is awindow that, in certain embodiments, is used for composing a message,such as a text message. In the presently disclosed embodiment UserInterface component 800 identifies John S. Lee as the recipient of themessage. User Interface component 805 displays a default languageassociated with the message being composed and Drop-down Selection boxthat allows a new language of composition to be associated with themessage being composed. User Interface component 810 is a Text-box thatallows a user to enter text for the message being composed.

FIG. 8B depicts an example user interface providing information on thelanguage capabilities of a portable electronic device, consistent withdisclosed example embodiments. The example user interface depicted inFIG. 8B is displayed on display 112 of sender device 320. User Interfacecomponent 800, according to certain embodiments, is used to provideinformation to a user of an electronic device such as sender device 320.For example, User Interface component 800 displays User Interfacecomponent 815 that notifies the user of sender device 320 that thecurrently selected language for composing a message bound for recipientdevice 305 cannot be read by the user of recipient device 305. In oneconfiguration, User Interface component 820 is a button that, whenactivated, allows a user of a portable electronic device, such as senderdevice 320, to select another language for message composition. UserInterface component 825 is another button that, when activated, allowsthe user to switch back to a default language, such as English, formessage composition.

FIG. 8C depicts an example user interface providing information on thelanguage capabilities of a portable electronic device, consistent withdisclosed example embodiments. A user of an electronic device, such assender device 320, copies text and attempts to paste the text into amessage bound for a portable electronic device, such as recipient device305. If the copied text is in a language not supported by recipientdevice 305, User Interface component 800 displays User Interfacecomponent 830 that notifies the user of sender device 320 that thecurrently copied text is not supported by recipient device 305. In oneconfiguration, User Interface component 835 is a button that, whenactivated, allows the user of an electronic device, such as senderdevice 320, to undo a previously attempted ‘Paste’ operation. UserInterface component 840 is another button that, when activated, allowsthe user to select another piece of text for inclusion in, for example,the message for recipient device 305.

FIG. 8D depicts an example user interface providing information on thelanguage capabilities of a portable electronic device, consistent withdisclosed example embodiments. A user of an electronic device, such assender device 320, copies text and attempts to paste the text into amessage bound for a portable electronic device, such as recipient device305. The user of sender device 320 enters text for inclusion in themessage for recipient device 305. If the copied or typed text is in alanguage not supported by recipient device 305, User Interface component800 displays User Interface component 845 that notifies the user ofsender device 320 that recipient device 305 can only read messages inone or more languages, such as English and Korean.

In one configuration, User Interface component 850 is a button that,when activated, allows the user of an electronic device, such as senderdevice 320, to switch to a different language of composition. Forexample, User Interface component 850, in various embodiments, allowsthe user of sender device 320 to switch to one of the languages known tobe supported by recipient device 305. User Interface component 855 isanother button that, when activated, allows the user of sender device320 to select another piece of text for inclusion in, for example, themessage bound for recipient device 305.

Embodiments of processes disclosed herein may be implemented by one ormore processors executing program instructions stored oncomputer-readable storage media, including, for example, volatile andnon-volatile computer memory such as RAM, PROM, EPROM and EEPROM, floppydisks, compact disks, optical disks, and magnetic tape. Other means forimplementing the processes disclosed herein include various combinationsof hardware, firmware and software.

The present disclosure may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. Otherembodiments will be apparent to those skilled in the art fromconsideration of the specification and practice of the variousembodiments disclosed herein. The described embodiments are to beconsidered in all respects only as illustrative and not restrictive. Allchanges that come within the meaning and range of equivalency of thefollowing claims are to be embraced within the scope of the claims.

1. A method for sharing information among electronic devicescommunicably connected in a network, wherein a server remote from theelectronic devices stores information reflecting a set of languagessupported by at least some of the electronic devices, the methodcomprising: monitoring a second electronic device for an indication of amessage for communication to a first electronic device; determining,based on the stored information reflecting a set of languages supportedby the first electronic device, whether the message is displayable onthe first electronic device; and providing a notification if the messageis not displayable on the first electronic device.
 2. The method ofclaim 1, wherein the determination of whether the message is displayableon the first electronic device comprises one or both of: determiningwhether a language of composition associated with the message is alanguage not supported by the first electronic device, and determiningwhether one or more parts of the message is in a language not supportedby the first electronic device.
 3. The method of claim 1, wherein theindication of a message for communication to the first electronic devicecomprises: a specification of an identifier associated with the firstelectronic device, and an issuance of a command to transmit a message tothe first electronic device.
 4. The method of claim 1, furthercomprising: querying the remote server for the information reflectingthe set of languages supported by the first electronic device, usinginformation identifying the first electronic device.
 5. The method ofclaim 1, wherein the determination of whether the message is displayableon the first electronic device is made following one or more eventscomprising: detecting a change in a language of composition associatedwith the message to the first electronic device, and detecting anattempt to include in the message to the first electronic device, textin a language different from the language of composition.
 6. The methodof claim 1, wherein the notification comprises: a visual stimuluscomprising a pop-up message, an auditory stimulus, and a tactilestimulus.
 7. The method of claim 5, further comprising: presenting anoption to abort the inclusion of text in the message to the firstelectronic device, where the text is of a language not supported by thefirst electronic device.
 8. The method of claim 1, further comprisingone or more of: providing information on the set of languages supportedby one or both of the first electronic device and the second electronicdevice; providing an option to compose the message in a languagesupported by the first electronic device; downloading and installing onone or both of the first electronic device and the second electronicdevice, one or more character sets associated with the set of languagessupported by one or both of the first electronic device and the secondelectronic device; and translating, at one or more of a remote server,the first electronic device, and the second electronic device, one ormore portions of the message to the first portable electronic device,into a language supported by the first electronic device.
 9. A systemfor sharing language information among electronic devices communicablyconnected in a network, the system comprising: a first portableelectronic device transmitting at least information identifying thefirst electronic device, and information reflecting a set of languagessupported by the first electronic device; a server, remote from thefirst electronic device and a second electronic device, accessing one ormore associations between information identifying electronic devices andinformation reflecting sets of languages supported by electronicdevices; the second electronic device receiving from the server, theinformation reflecting the set of languages supported by the firstelectronic device; and a processor: determining, based on theinformation reflecting the set of languages supported by the firstelectronic device, whether a message to the first electronic device isdisplayable on the first electronic device; and providing anotification, if the message is not displayable on the first electronicdevice.
 10. The system of claim 9 wherein the determination of whetherthe message is displayable on the first electronic device comprises oneor both of: determining whether a language of composition associatedwith the message is a language not supported by the first electronicdevice, and determining whether one or more parts of the message is in alanguage not supported by the first electronic device;
 11. The system ofclaim 9 wherein the server: receives from the first electronic device,the information identifying the first electronic device, and theinformation reflecting the set of languages supported by the firstelectronic device; and stores, using a memory, one or more associationsbetween the information identifying the first electronic device, and theinformation reflecting the set of languages supported by the firstelectronic device.
 12. The system of claim 9, wherein the secondelectronic device receives the information reflecting the set oflanguages supported by the first electronic device subsequent to anindication of a message for communication to the first electronicdevice, the indication comprising: a specification of an identifierassociated with the first electronic device, and an issuance of acommand to transmit a message to the first electronic device.
 13. Thesystem of claim 9, wherein the server accesses the one or moreassociations in response to a query for the information reflecting theset of languages supported by the first electronic device, the querycomprising information associated with identifying the first electronicdevice.
 14. The system of claim 9, wherein the determination of whetherthe message is displayable on the first electronic device is madefollowing one or more events comprising: detecting a change in alanguage of composition associated with the message to the firstelectronic device, and detecting an attempt to include in the message tothe first electronic device, text in a language different from thelanguage of composition.
 15. The system of claim 14, further comprising:a user interface for presenting an option to abort the inclusion of textin the message to the first electronic device, where the text is of alanguage not supported by the first electronic device.
 16. The system ofclaim 9, further comprising one or more of: a user interface providinginformation on the set of languages supported by one or both of thefirst electronic device and the second electronic device; a userinterface providing an option to compose the message to the firstelectronic device in a language supported by the first electronicdevice; one or both of: the first electronic device and the secondelectronic device downloading and installing one or more character setsassociated with the set of languages supported by one or both of thefirst electronic device and the second electronic device; and one ormore of: a server remote from the first electronic device and the secondelectronic device, the first electronic device, and the secondelectronic device, translating one or more portions of the message tothe first portable electronic device, into a language supported by thefirst electronic device.
 17. The system of claim 9, wherein theinformation reflecting the set of languages supported by the firstelectronic device comprises one or more character sets recognized by thefirst electronic device.
 18. A system for sharing information reflectinga set of languages supported by portable electronic devices communicablyconnected in a network, the system comprising: a storage device forstoring instructions; and a processor for executing the instructions to:receive from a first portable electronic device, information identifyingthe first electronic device, and information reflecting a set oflanguages supported by the first electronic device; store, on thestorage device, one or more associations between the informationidentifying the first electronic device, and the information reflectingthe set of languages supported by the first electronic device; receivefrom a second electronic device, a query for information reflecting theset of languages supported by the first electronic device; andcommunicate the information reflecting the set of languages supported bythe first electronic device to the second electronic device.
 19. Acomputer-readable non-transitory storage medium comprising programmableinstructions adapted to perform a method for sharing information amongelectronic devices communicably connected in a network, wherein a serverremote from the electronic devices stores information reflecting a setof languages supported by at least some of the electronic devices, themethod comprising: monitoring a second electronic device for anindication of a message for communication to a first electronic device;determining, based on the stored information reflecting a set oflanguages supported by the first electronic device, whether the messageis displayable on the first electronic device; and providing anotification if the message is not displayable on the first electronicdevice.
 20. A portable electronic device for sharing informationreflecting a set of supported languages, the device comprising: astorage device for storing instructions; and a processor for executingthe instructions to: detect an event requiring a communication ofinformation reflecting a set of languages supported by the electronicdevice; and communicate to a remote server, at least informationidentifying the electronic device, and the information reflecting theset of supported languages.